Sistemas P2P

Napster

Das mãos do estudante Shawn Fanning, nascia em 1999 uma ferramenta pioneira na internet. Um compartilhamento gratuito de arquivos (principalmente) de áudio (MP3).

O Napster sofreu uma explosão de popularidade, pela gratuidade e pela facilidade de conseguir as músicas que quisesse, na hora que quisesse, pois o banco de dados era “feito” a partir do banco de dados individual de cada usuário, que com a popularização, rapidamente se tornou gigantesco. Além disso, havia uma garantia maior dos arquivos não estarem corrompidos do que em comuns sites de download.

A arquitetura do Napster consistia em uma rede de computadores conectada a um servidor central, em que cada um podia fazer requerimentos de arquivos que desejavam ser baixados pelo usuário. A partir daí o servidor buscava no banco de dados de cada um dos seus usuários conectados pelo arquivo solicitado. Caso esse arquivo estivesse disponível, o cliente que fez a busca se conectava com outro cliente (que possuía o arquivo desejado), e faziam o compartilhamento entre si, sem mediação do servidor central.

Mas houve uma reação inesperada em meio a todo o sucesso, e o Napster começou a enfrentar denúncias de violação de direitos autorais. Devido a sua arquitetura “ponto-a-ponto” com um servidor centralizado, o governo americano não teve muito trabalho em rastrear esse servidor e conseguir uma ordem judicial para fechá-lo frente a essas acusações.

Gnutela

Pode ser chamada de “sucessora” do Napster, pois foi para esse sistema que a maioria esmagadora de seus usuários migrou após o seu fechamento.

A Gnutella se assemelha muito ao Napster no que diz respeito à sua utilização, que é basicamente o compartilhamento de arquivos (agora não mais só áudio, mas também vídeos, fotos e filmes), mas possui em sua arquitetura a cautela que o Napster não possuía, foi extinto o servidor central. Na Gnutella, cada nó informa aos outros sobre sua disponibilidade de arquivos, o que temos agora, é um banco de dados “diluído” entre uma infinidade de nós (clientes). Em cada busca efetuada, cada nó faz uma rápida varredura em seus arquivos e nos arquivos vizinhos, encaminhando essa consulta aos outros nós. Esse método dificulta grandiosamente o rastreamento para fechamento do serviço, pois isso consistiria em fechar cada um dos nós, e, além disso, acaba com o chamado Single Point of Failure, que era o caso do servidor central do Napster.

Exemplos de softwares baseados em sistemas Gnutella são: eMule, LimeWire, FrostWire, Shareazza, Ares Galaxy, e outros.

BitTorrent

Semelhante às redes supracitadas, o BitTorrent tem como função principal o compartilhamento de áudio, vídeo, softwares, filmes e jogos.

O compartilhamento se dá basicamente a partir do usuário que disponibiliza um arquivo em seu formato .torrent, que é chamado de seed (“semente”). Esses arquivos são divididos em milhares de pequenos “pacotes” e ficam disponíveis para busca em determinados sites.

Por ser divido nesses pacotes, um usuário pode baixar o arquivo de vários “seeders” (usuários que tem o arquivo completo) ou “peers” (usuários que tem parte do arquivo) simultaneamente e sem a necessidade de ordenação. Esse processo agiliza e facilita o download, pois além de poder baixar partes diferentes do arquivo simultaneamente, não é preciso esperar a liberação de outro pacote após terminar o download de um precedente.

Ao término do download, você pode se tornar um seeder daquele arquivo caso habilite suas configurações de upload.

O sistema de BitTorrent vem enfrentando acusações parecidas com as que sofreu o Napster, sobre violação de direitos autorais, e este tema tem sido pauta de muita discussão, principalmente pelo governo americano, que já demonstrou vontade em acabar com o compartilhamento considerado ilegal.